#ifndef DATA_ROTORDEF_H
#define DATA_ROTORDEF_H

#include <string>

namespace data {

	class RotorDef {
	public:
		RotorDef(
			std::string name,
			std::string description,
			float torque ) :
			m_name( name ),
			m_description( description ),
			m_torque( torque )
		{}

		RotorDef( const RotorDef& rotorDef ) :
			m_name( rotorDef.m_name ),
			m_description( rotorDef.m_description ),
			m_torque( rotorDef.m_torque )
		{}

		inline const std::string GetName() const { return m_name; }
		inline void SetName( std::string name ) { m_name = name; }

		inline const std::string GetDescription() const { return m_description; }
		inline void SetDescription( std::string description ) { m_description = description; }

		inline const float GetTorque() const { return m_torque; }
		inline void SetTorque( float torque ) { m_torque = torque; }

	private:
		std::string m_name;
		std::string m_description;
		float m_torque;
	};

	inline bool operator == ( const RotorDef& a, const RotorDef& b ) {
		if( a.GetName() != b.GetName() ) return false;
		if( a.GetDescription() != b.GetDescription() ) return false;
		if( a.GetTorque() != b.GetTorque() ) return false;
		return true;
	}

	inline bool operator != ( const RotorDef& a, const RotorDef& b ) {
		return !( a == b );
	}
}
#endif
